class Solution {
public:
    /**
     * pick candy
     * @param arr int整型vector the array
     * @return int整型
     */
    /*
    将所有孩子的糖果初始化为1；
    从左往右遍历一遍，如果右边比左边评分高，右边孩子的糖果数=左边的糖果+1；
    从右往左遍历一遍，如果左边比右边高，且左边孩子的糖果数并不大于右边孩子的糖果数，
    那么左边孩子的糖果=右边孩子糖果+1
    */
    int candy(vector<int>& arr) {
        // write code here
        int len=arr.size();
        vector<int>vec(len,1);
        for(int i=1;i<len;i++)
        {
            if(arr[i]>arr[i-1])
                vec[i]=vec[i-1]+1;
        }
        for(int i=len-1;i>0;i--)
        {
            if(arr[i-1]>arr[i])
                vec[i-1]=max(vec[i-1],vec[i]+1);
        }
        int ans=0;
        for(auto x:vec)
            ans+=x;
        return ans;
    }
};